package com.wyh.service.feemanagementservice;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wyh.domain.dto.feemanagementdto.*;
import com.wyh.domain.po.feemanagementpo.PaymentRecords;
import com.wyh.domain.po.feemanagementpo.Refunds;
import com.wyh.domain.vo.feemanagementvo.AllPaymentRecordsVo;
import com.wyh.domain.vo.feemanagementvo.PaymentRecordsVos;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
import java.util.Map;



public interface PaymentRecordsService extends IService<PaymentRecords> {

    int insert(PaymentRecords paymentRecords);

    PaymentRecords findById(Long id);
    int update(PaymentRecords paymentRecords);

    int deleteById(Long id);

    List<PaymentRecords> selectPage(Map<String, Object> params);

    Integer selectTotal(Map<String, Object> params);


    PaymentRecordsVos getAllPayMentRecords(IPage<PaymentRecords> page, PaymentRecordsDtos paymentRecordsDtos);

    boolean addPaymentRecordsCustomerId(PaymentRecordsAddDto paymentRecordsClaimDto,Integer uid);

    boolean revokePaymentRecordsClaim(PaymentRecordsRevokeDto paymentRecordsRevokeDto);

    PaymentRecordsVos getAllClaimPayMentRecords(IPage<PaymentRecords> page, PaymentRecordsDtos paymentRecordsDtos,String account);

    int updateRefundamount(Long id);
    PaymentRecords findByBill(int billid);
    AllPaymentRecordsVo getAllPaymenRecordsByCustomerId(IPage<PaymentRecords> page, PaymentRecordsCustomerDto paymentRecordsCustomerDto,String account);
    List<PaymentDTO> findBy(Long billid);

    PaymentRecords findByCollectionNumber(String collectionnumber);
}
